package com.rocky.crm.pojo;

import java.io.Serializable;
import java.time.LocalDate;

/**
 * linkman
 *
 * @author
 */
public class Linkman implements Serializable {
	/**
	 * 联系人编号
	 */
	private Integer id;

	/**
	 * 联系人名称
	 */
	private String name;

	/**
	 * 联系人职位
	 */
	private String position;

	/**
	 * 办公司电话
	 */
	private String officePhone;

	/**
	 * 手机电话
	 */
	private String mobilePhone;

	/**
	 * 生日
	 */
	private LocalDate birthday;

	/**
	 * 性别
	 */
	private String sex;

	/**
	 * 备注
	 */
	private String remark;

	/**
	 * 联系等级：0 为主要联系人 1为普通联系人
	 */
	private Integer level;

	/**
	 * 所属客户
	 */
	private Integer customerId;

	/**
	 * 所属客户实体
	 */
	private Customer customer;

	/**
	 * 计算当前年龄
	 */
	private Integer age;

	/**
	 * 状态
	 */
	private String status;

	/**
	 * 当前年份该联系人所对应的客户关怀记录ID
	 */
	private Integer currentCustomerCareId;

	private static final long serialVersionUID = 1L;

	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getPosition() {
		return position;
	}

	public void setPosition(String position) {
		this.position = position;
	}

	public String getOfficePhone() {
		return officePhone;
	}

	public void setOfficePhone(String officePhone) {
		this.officePhone = officePhone;
	}

	public String getMobilePhone() {
		return mobilePhone;
	}

	public void setMobilePhone(String mobilePhone) {
		this.mobilePhone = mobilePhone;
	}

	public LocalDate getBirthday() {
		return birthday;
	}

	public void setBirthday(LocalDate birthday) {
		this.birthday = birthday;
	}

	public String getSex() {
		return sex;
	}

	public void setSex(String sex) {
		this.sex = sex;
	}

	public String getRemark() {
		return remark;
	}

	public void setRemark(String remark) {
		this.remark = remark;
	}

	public Integer getLevel() {
		return level;
	}

	public void setLevel(Integer level) {
		this.level = level;
	}

	public Integer getCustomerId() {
		return customerId;
	}

	public void setCustomerId(Integer customerId) {
		this.customerId = customerId;
	}

	/**
	 * @return the customer
	 */
	public Customer getCustomer() {
		return customer;
	}

	/**
	 * @param customer the customer to set
	 */
	public void setCustomer(Customer customer) {
		this.customer = customer;
	}

	/**
	 * @return the age
	 */
	public Integer getAge() {
		return age;
	}

	/**
	 * @param age the age to set
	 */
	public void setAge(Integer age) {
		this.age = age;
	}

	public String getStatus() {
		return status;
	}

	public void setStatus(String status) {
		this.status = status;
	}

	/**
	 * @return the currentCustomerCareId
	 */
	public Integer getCurrentCustomerCareId() {
		return currentCustomerCareId;
	}

	/**
	 * @param currentCustomerCareId the currentCustomerCareId to set
	 */
	public void setCurrentCustomerCareId(Integer currentCustomerCareId) {
		this.currentCustomerCareId = currentCustomerCareId;
	}

	@Override
	public boolean equals(Object that) {
		if (this == that) {
			return true;
		}
		if (that == null) {
			return false;
		}
		if (getClass() != that.getClass()) {
			return false;
		}
		Linkman other = (Linkman) that;
		return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
				&& (this.getName() == null ? other.getName() == null : this.getName().equals(other.getName()))
				&& (this.getPosition() == null ? other.getPosition() == null : this.getPosition().equals(other.getPosition()))
				&& (this.getOfficePhone() == null ? other.getOfficePhone() == null : this.getOfficePhone().equals(other.getOfficePhone()))
				&& (this.getMobilePhone() == null ? other.getMobilePhone() == null : this.getMobilePhone().equals(other.getMobilePhone()))
				&& (this.getBirthday() == null ? other.getBirthday() == null : this.getBirthday().equals(other.getBirthday()))
				&& (this.getSex() == null ? other.getSex() == null : this.getSex().equals(other.getSex()))
				&& (this.getRemark() == null ? other.getRemark() == null : this.getRemark().equals(other.getRemark()))
				&& (this.getLevel() == null ? other.getLevel() == null : this.getLevel().equals(other.getLevel()))
				&& (this.getCustomerId() == null ? other.getCustomerId() == null : this.getCustomerId().equals(other.getCustomerId()));
	}

	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
		result = prime * result + ((getName() == null) ? 0 : getName().hashCode());
		result = prime * result + ((getPosition() == null) ? 0 : getPosition().hashCode());
		result = prime * result + ((getOfficePhone() == null) ? 0 : getOfficePhone().hashCode());
		result = prime * result + ((getMobilePhone() == null) ? 0 : getMobilePhone().hashCode());
		result = prime * result + ((getBirthday() == null) ? 0 : getBirthday().hashCode());
		result = prime * result + ((getSex() == null) ? 0 : getSex().hashCode());
		result = prime * result + ((getRemark() == null) ? 0 : getRemark().hashCode());
		result = prime * result + ((getLevel() == null) ? 0 : getLevel().hashCode());
		result = prime * result + ((getCustomerId() == null) ? 0 : getCustomerId().hashCode());
		return result;
	}

	@Override
	public String toString() {
		StringBuilder sb = new StringBuilder();
		sb.append(getClass().getSimpleName());
		sb.append(" [");
		sb.append("Hash = ").append(hashCode());
		sb.append(", id=").append(id);
		sb.append(", name=").append(name);
		sb.append(", position=").append(position);
		sb.append(", officePhone=").append(officePhone);
		sb.append(", mobilePhone=").append(mobilePhone);
		sb.append(", birthday=").append(birthday);
		sb.append(", sex=").append(sex);
		sb.append(", remark=").append(remark);
		sb.append(", level=").append(level);
		sb.append(", customerId=").append(customerId);
		sb.append(", serialVersionUID=").append(serialVersionUID);
		sb.append("]");
		return sb.toString();
	}
}